package com.wxapp.pay.api.pojo.pojo.vm.payConfig;

import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.Map;

/**
 * @author lgl
 */
@Data
@NoArgsConstructor
public class PAliPayConfigsVm implements Serializable {
    /**
     * 网关地址
     * 线上：https://openapi.alipay.com/gateway.do
     * 沙箱：https://openapi.alipaydev.com/gateway.do
     */
    private String serverUrl;
    /**
     * 开放平台上创建的应用的ID
     */
    private String appId;

    /**
     * 报文格式，推荐：json
     */
    private String format;

    /**
     * 字符串编码，推荐：utf-8
     */
    private String charset;

    /**
     * 签名算法类型，推荐：RSA2
     */
    private String signType;
    /**
     * sdk名字
     */
    private String alipaySdk;
    /**
     * 版本
     */
    private String version;
    /**
     * 支付方法
     */
    private String method;
    /**
     * 商户私钥
     */
    private String privateKey;

    /**
     * 支付宝公钥字符串（公钥模式下设置，证书模式下无需设置）
     */
    private String alipayPublicKey;
    /**
     * 支付宝支付成功后回调后端地址
     */
    private String notifyUrl;
    /**
     * 电脑网站支付场景固定传值FAST_INSTANT_TRADE_PAY
     */
    private String  productCode;

    public PAliPayConfigsVm(Map<String,String> map) {
        this.serverUrl =map.get("serverUrl");
        this.appId = map.get("appId");
        this.format = map.get("format");
        this.charset = map.get("charset");
        this.signType = map.get("signType");
        this.privateKey = map.get("privateKey");
        this.alipayPublicKey = map.get("alipayPublicKey");
        this.notifyUrl = map.get("notifyUrl");
        this.alipaySdk = map.get("alipaySdk");
        this.version = map.get("version");
        this.method = map.get("method");
        this.productCode= map.get("productCode");
    }

}
